package com.meihua.baoleyi.common;

import android.content.Context;
import android.support.annotation.Nullable;
import android.text.TextUtils;

import com.google.gson.Gson;
import com.meihua.baoleyi.model.LoginInfo;
import com.meihua.baoleyi.utils.PrefsUtil;

/**
 * Created by jzm on 2017/11/8.
 * zm.jin@qq.com
 */

public class PrefsHelper {

    private static final String PREFERENCE_FILE_NAME = "BaoLeYiPrefs"; //宝乐伊保存信息

    //保存的登入信息
    private static final String KEY_LOGIN_INFO = "loginInfo";
    //登入状态
    private static final String KEY_LOGIN_FLAG = "loginFlag";

    public static void init(Context context) {
        //初始化
        PrefsUtil.init(context.getApplicationContext(), PREFERENCE_FILE_NAME);
    }

    /**
     * 保存用户的登录数据。
     */
    public static void setLoginInfo(Object info) {
        if (info instanceof String) {
            PrefsUtil.set(KEY_LOGIN_INFO, info);
            PrefsUtil.set(KEY_LOGIN_FLAG, true);
        }
        if (info instanceof LoginInfo) {
            String infoToSave = new Gson().toJson(info);
            PrefsUtil.set(KEY_LOGIN_INFO, infoToSave);
            PrefsUtil.set(KEY_LOGIN_FLAG, true);
        }
    }

    /**
     * 清除登录数据。
     */
    public static void removeLoginInfo() {
        PrefsUtil.remove(KEY_LOGIN_INFO);
        PrefsUtil.remove(KEY_LOGIN_FLAG);
    }

    /**
     * 查询存储的用户登录数据，如果不存在则返回null。
     */
    @Nullable
    public static String getLoginInfo() {
        String savedInfo = PrefsUtil.getString(KEY_LOGIN_INFO);
        if (TextUtils.isEmpty(savedInfo)) {
            return null;
        }
        return savedInfo;
    }

    /**
     * 查询用户是否是登录的
     */
    public static boolean getLoginFlag() {
        return PrefsUtil.getBoolean(KEY_LOGIN_FLAG);
    }
}
